";
$ResultArray = array();
return $ResultArray;
};
$config = new Config();
$maxresults = $config->sql_max_results();
$db = $config->sql_dbname();
$conn = new Connection( );
$conn->db( $db );
if ( strcasecmp($catg,"movies")==0){
$tbl = $config->sql_table_movies();
$index = "movies";
} else if ( strcasecmp($catg,"porn")==0){
$tbl = $config->sql_table_porn();
$index = "porn";
} else if ( strcasecmp($catg,"series")==0){
$tbl = $config->sql_table_series();
$index = "series";
} else if ( strcasecmp($catg,"comics")==0){
$tbl = $config->sql_table_comics();
$index = "comics";
} else if ( strcasecmp($catg,"kids")==0){
$tbl = $config->sql_table_comics();
$index = "kids";
} else if ( strcasecmp($catg,"anime")==0){
$tbl = $config->sql_table_comics();
$index = "anime";
} else { // movies
$tbl = $config->sql_table_movies();
$index = "movies";
}
//echo "DEBUG: SEarching for $SearchQuery in $catg (index: $index)
";
$cl = new SphinxClient();
$q = $SearchQuery;
$sql = "";
$host = "127.0.0.1";
$port = 9312;
$groupby = "";
$groupsort = "@group desc";
$filter = "group_id";
$filtervals = array();
$distinct = "";
$sortby = "";
$limit = $maxresults;
$ranker = 'SPH_RANK_PROXIMITY_BM25';
$select = "";
$docids = array();
//$mode = "SPH_MATCH_FULLSCAN";
//$mode = "SPH_MATCH_ANY";
//$mode = "SPH_MATCH_BOOLEAN";
//$mode = "SPH_MATCH_EXTENDED";
$mode = 'SPH_MATCH_EXTENDED2';
//$mode = "SPH_MATCH_PHRASE";
//echo "good";
////////////
// do query
////////////127.0.0.1:9312
$cl->SetServer("/var/run/searchd.sock", 0);
//$cl->SetServer ( $host, $port );
$cl->SetConnectTimeout ( 3 );
$cl->SetArrayResult ( true );
$cl->SetMatchMode ( $mode );
$cl->SetFieldWeights ( array ( "imdb_title"=>100,"sname"=>99,"name"=>85,"plot"=>75,"genres"=>55, "fuzzy_title"=>10 ) );
$cl->ResetFilters();
//$cl->SetSortMode( SPH_SORT_RELEVANCE );
$cl->SetSortMode('SPH_SORT_RELEVANCE', "@weight DESC");
$cl->SetRankingMode( $ranker );
$cl->SetGroupDistinct ( $distinct );
//if ( $sortby ) $cl->SetSortMode ( SPH_SORT_EXTENDED, $sortby );
//if ( $sortexpr ) $cl->SetSortMode ( SPH_SORT_EXPR, $sortexpr );
$cl->SetSelect ( $select );
$cl->SetLimits ( 0, $maxresults );
//echo "good 2";
$res = $cl->Query ( $q, $index );
//echo "good 3";
if ( $res===false )
{
// echo "Query failed: " . $cl->GetLastError() . ".\n";
} else {
if ( $cl->GetLastWarning() ) {
// echo "WARNING: " . $cl->GetLastWarning() . "\n\n";
};
//echo count($res["matches"]);
//echo "
";
if ( is_array($res["matches"]) )
{
$n = 1;
foreach ( $res["matches"] as $docinfo )
{
// echo "$n. doc_id=$docinfo[id], weight=$docinfo[weight]";
array_push($docids, $docinfo[id]);
}
}
}
$ResultArray = array();
if (count($docids) <= 0 ){
return $ResultArray; // gib leeres array zurück
};
$SqlQuery = "SELECT * FROM $tbl WHERE";
for ($i=0;$i<=count($docids) - 1;$i++){
if ($i>0){
$SqlQuery .= "\"$docids[$i]\",";
} elseif($i<=0){
$SqlQuery .= " `id` IN (\"$docids[$i]\",";
};
};
$SqlQuery = substr($SqlQuery,0,(strlen($SqlQuery)-1));
$SqlQuery .=");";
$MySqlArray = $conn->doSQLQuery( $SqlQuery );
if ( $MySqlArray ) {
while( $sql_results = mysql_fetch_array($MySqlArray)) {
$fn = $sql_results['sname'];
$fn_i = $sql_results['imdb_title'];
$path = $sql_results['path'];
$type = $sql_results['type'];
$size = $sql_results['size'];
// if ( strcasecmp($catg,"movies")==0){
// $fn = $fn_i . " - " . $fn;
// }
array_push($ResultArray, "$fn#####$size#####$path#####$type\n");
//echo "$mode ---> $fn#####$sfn#####$size#####$path#####$type\n";
}; # while( $sql_results = mysql_fetch_array($results)) { }
} else {
// echo "Konnte die MySQL-Abfrage nicht verarbeiten / Could execute mysql query
\n";
// echo "MySQL-Antwort: " . mysql_error($conn);
// die();
// send email or sms to me
}; # if ( $MySqlArray ) {
return $ResultArray;
} // function SphinxSearch( $SearchQuery, $catg ){
function RandomResults( $catg, $result_count ){
$config = new Config();
$maxresults = $config->sql_max_results();
$db = $config->sql_dbname();
$conn = new Connection( );
$conn->db( $db );
if ( strcasecmp($catg,"movies")==0){
$tbl = $config->sql_table_movies();
$index = "movies";
} else if ( strcasecmp($catg,"porn")==0){
$tbl = $config->sql_table_porn();
$index = "porn";
} else if ( strcasecmp($catg,"series")==0){
$tbl = $config->sql_table_series();
$index = "series";
} else if ( strcasecmp($catg,"comics")==0){
$tbl = $config->sql_table_comics();
$index = "comics";
} else if ( strcasecmp($catg,"kids")==0){
$tbl = $config->sql_table_comics();
$index = "kids";
} else if ( strcasecmp($catg,"anime")==0){
$tbl = $config->sql_table_comics();
$index = "anime";
} else { // erotica
$tbl = $config->sql_table_movies();
$index = "movies";
}
$ResultArray = array();
$SqlQuery = "SELECT * FROM $tbl ORDER BY RAND() LIMIT $result_count;" ;
$MySqlArray = $conn->doSQLQuery( $SqlQuery );
if ( $MySqlArray ) {
while( $sql_results = mysql_fetch_array($MySqlArray)) {
$fn = $sql_results['sname'];
$fn_i = $sql_results['imdb_title'];
$path = $sql_results['path'];
$type = $sql_results['type'];
$size = $sql_results['size'];
// if ( strcasecmp($catg,"movies")==0){
// $fn = $fn_i . " - " . $fn;
// }
array_push($ResultArray, "$fn#####$size#####$path#####$type\n");
}; # while( $sql_results = mysql_fetch_array($results)) { }
} else {
// echo "Konnte die MySQL-Abfrage nicht verarbeiten / Could execute mysql query
\n";
// echo "MySQL-Antwort: " . mysql_error($conn);
// die();
// send email or sms to me
}; # if ( $MySqlArray ) {
return $ResultArray;
} // function RandomResults( $catg, $result_count ){
}
?>